def-solar name attribute-list &rest attribute-lists
Allows you to define a solar system - name - having any number of planets and attributes, like cycles, location, dates etc. You can also define any number of solar systems. The attribute-list contains planet names and their values as years, dates, hours, minutes and seconds. Here is an example:
(def-solar sun
(dates ; rotation speed
(mercurius 0 59 0 0 0)
(venus 0 244.3 0 0 0)
(earth 0 0 23 56 4.1)
(mars 0 0 24 37 22.6)
(jupiter 0 0 9 50 0)
(saturnus 0 0 10 40 0)
(uranus 0 0 12 0 0)
(neptunus 0 0 15 48 0)
(pluto 0 0 6 9 17))
(cycles ; now define year length
(mercurius 0 87.96 0 0 0)
(venus 0 224.68 0 0 0)
(earth 1 0 0 0 0)
(mars 0 686.95 0 0 0)
(jupiter 11.862 0 0 0 0)
(saturnus 29.456 0 0 0 0)
(uranus 84.07 0 0 0 0)
(neptunus 164.81 0 0 0 0)
(pluto 248.53 0 0 0 0))
(location ; and relative location to sun
(mercurius 1 0 0 0 0) ; note that you can express any
(venus 2 0 0 0 0) ; values here using just a one
(earth 3 0 0 0 0) ; parameter and set others as zero
(mars 4 0 0 0 0)
(jupiter 5 0 0 0 0)
(saturnus 6 0 0 0 0)
(uranus 7 0 0 0 0)
(neptunus 8 0 0 0 0)
(pluto 9 0 0 0 0)))
The definitions are recalled with gen-solar, which returns relative values of each planet of any attribute. The output vector can be used directly inside gen-fourier or frequency-map to construct waveforms or tonalities - 'the harmony of spheres'. You can also invent arbitrary solar systems.